/*
  作者：bilibili_cly
  版权所有：© 2024 bilibili_cly
  B站主页：https://space.bilibili.com/642010138
  许可：除非授权，否则仅限于个人学习和非商业用途使用。
*/

const FormatDate = {
  /**
   * 将 Date 对象格式化为 "yyyy-MM-dd" 格式的字符串
   * @param {Date} date Date格式的日期
   * @returns yyyy-MM-dd 格式的字符串日期
   */
  FormatDate: (date) => {
    const yyyy = date.getFullYear();
    const mm = String(date.getMonth() + 1).padStart(2, "0");
    const dd = String(date.getDate()).padStart(2, "0");
    return `${yyyy}-${mm}-${dd}`;
  },

  /**
   * 将 Date 对象格式化为 "yyyy-MM-dd hh:mm:ss" 格式的字符串
   * @param {Date} date Date格式的日期
   * @returns yyyy-MM-dd hh:mm:ss 格式的字符串日期时间
   */
  FormatDetailDate: (date) => {
    const yyyy = date.getFullYear();
    const mm = String(date.getMonth() + 1).padStart(2, "0");
    const dd = String(date.getDate()).padStart(2, "0");
    const hh = String(date.getHours()).padStart(2, "0");
    const min = String(date.getMinutes()).padStart(2, "0");
    const ss = String(date.getSeconds()).padStart(2, "0");
    return `${yyyy}-${mm}-${dd} ${hh}:${min}:${ss}`;
  },

  /**
   * 提取日期部分 "yyyy-MM-dd"，从 "yyyy-MM-dd hh:mm:ss" 格式的字符串
   * @param {string} dateTimeString 日期时间格式
   * @returns yyyy-MM-dd 格式的字符串日期
   */
  ExtractDate: (dateTimeString) => {
    return dateTimeString.split(" ")[0];
  },

  /**
   * 提取时间部分 "hh:mm:ss"，从 "yyyy-MM-dd hh:mm:ss" 格式的字符串
   * @param {string} dateTimeString 日期时间格式
   * @returns hh:mm:ss 格式的字符串时间
   */
  ExtractTime: (dateTimeString) => {
    return dateTimeString.split(" ")[1];
  },
};

export default FormatDate;
